#!/usr/bin/python3

# 1) global 和 nonlocal
# a）global 关键字用于在函数内部，声明变量为全局变量（声明函数内的变量为全局变量，即覆盖全局变量）。
# b）nonlocal 主要用在嵌套函数中，声明使用外层的变量，但是非全局变量（声明嵌套函数内的变量作用域为外层变量）。
# 参考 https://blog.csdn.net/Dontla/article/details/139680036
num = 5
def outer():
    num = 10 # 定义局部变量
    def inner():
        global num  # global 和 nonlocal测试下结果
        num = 100
        print(num)
    # 调用inner()，打印出100
    inner()
    # 打印num, 打印10（注释nonlocal num）
    print(num)
outer()
print(num)
